<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var arr=[1,2,3,4,5];
        Array.prototype.myForEach=function(){
            if(arguments.length==1&&typeof arguments[0]=="function"){
                //参数为1并且是个函数
                //this-->arr
                for(var i=0;i<this.length;i++){
                    arguments[0].call(window,this[i],i,this);

                }


            }else if(arguments.length==2){
                //参数为2，第一个是回调函数，第二个是this
                for(var i=0;i<this.length;i++){
                    arguments[0].call(arguments[1],this[i],i,this);

                } 
            }
        }

        arr.myForEach(function(item,index,arr){
            console.log(this);
            console.log(item,index,arr)
        },{});

    </script>
</head>
<body>
    
</body>
</html>